package com.chaofan.websocket.Web;

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;

/**
 * @program: websocket
 * @description:
 * @author: Mr.sun
 * @create: 2020-11-03 14:31
 **/
public class GuiCamera  {

//    public static void main(String[] args) throws IOException, URISyntaxException, AWTException {
//        // 控制浏览器打开网页，仅适用于JdK1.6及以上版本
//        Desktop.getDesktop().browse(new URL("http://www.kaijiang998.com").toURI());
//        Robot robot = new Robot();
//        // 延迟一秒
//        robot.delay(1000);
//        // 获取屏幕宽度和高度
//        Dimension d = new Dimension(Toolkit.getDefaultToolkit().getScreenSize());
//        int width = (int) d.getWidth();
//        int height = (int) d.getHeight();
//        // 最大化浏览器
//        robot.keyRelease(KeyEvent.VK_F11);
//        robot.delay(1000);
//        // 对屏幕进行截图
//        Image image = robot.createScreenCapture(new Rectangle(0, 0, width, height));
//        // 通过图形绘制工具类将截图保存
//        BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
//        Graphics g = img.createGraphics();
//        g.drawImage(image, 0, 0, width, height, null);
//        // 保存图片
//        ImageIO.write(img, "jpg", new File("D:/tmp/"+System.currentTimeMillis()+".jpg"));
//        System.out.println("done!");
//    }
//
//    private String fileName; // 文件的前缀
//
//    private String defaultName = "GuiCamera";
//
//    static int serialNum = 0;
//
//    private String imageFormat; // 图像文件的格式
//
//    private String defaultImageFormat = "jpg";
//
//    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
//
//
//
//
//    public GuiCamera() {
//        fileName = defaultName;
//        imageFormat = defaultImageFormat;
//
//    }
//
//
//
//
//    public GuiCamera(String s, String format) {
//
//        fileName = s;
//        imageFormat = format;
//    }
//
//
//
//
//    public void snapShot() {
//
//        try {
//            // 拷贝屏幕到一个BufferedImage对象screenshot
//            BufferedImage screenshot = (new Robot())
//                    .createScreenCapture(new Rectangle(0, 0,
//                            (int) d.getWidth(), (int)
//
//                            d.getHeight()));
//            serialNum++;
//            // 根据文件前缀变量和文件格式变量，自动生成文件名
//            String name = fileName + String.valueOf(serialNum) + "."
//                    + imageFormat;
//            File f = new File(name);
//            System.out.print("Save File " + name);
//            // 将screenshot对象写入图像文件
//            ImageIO.write(screenshot, imageFormat, f);
//            System.out.print("..Finished!\n");
//        } catch (Exception ex) {
//            System.out.println(ex);
//        }
//    }
//
//    public static void main(String[] args) {
//        GuiCamera cam = new GuiCamera("d:\\qq", "bmp");//
//        cam.snapShot();
//    }
//
//    protected static void generateOutput() throws Exception {
//        JEditorPane ed = new JEditorPane(new URL("http://www.kaijiang998.com/"));
//        ed.setSize(1000,2000);
//
//        //create a new image
//        BufferedImage image = new BufferedImage(ed.getWidth(), ed.getHeight(),
//                BufferedImage.TYPE_INT_ARGB);
//
//        //paint the editor onto the image
//        SwingUtilities.paintComponent(image.createGraphics(),
//                ed,
//                new JPanel(),
//                0, 0, image.getWidth(), image.getHeight());
//        //save the image to file
//        ImageIO.write((RenderedImage)image, "png", new File("html.png"));
//    }
//    public static void main(String[] args) {
//        try {
//            generateOutput();
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//    public static void main(String[] args) throws Exception {
//        ImageRenderer render = new ImageRenderer();
//        System.out.println("kaishi");
//        String url = "http://www.kaijiang998.com/";
//        FileOutputStream out = new FileOutputStream(new File("D:"+File.separator+"html.png"));
//        render.renderURL(url, out, ImageRenderer.TYPE_PNG);
//        System.out.println("OK");
//    }
}
